Il est toujours le seul langage industriel implémentant en standard les concepts de programmation par contrat.
JML peut être comparé à la programmation par contrat de Eiffel et de la famille Larch.
On notera la présence des pré et post conditions, héritées de la programmation par contrat de Bertrand Meyer.
Pour une meilleure fiabilité du code, des mécanismes de programmation par contrat inspirés de la Notation Z ont été ajouté.
La programmation par contrat est un paradigme de programmation dans lequel le déroulement des traitements est régi par des règles.
Il est aussi inspiré du langage Eiffel, un langage objet à classe, pour les aspects d'ingénierie logicielle et notamment pour la programmation par contrat.
Historiquement, la programmation par contrat a été introduite par Bertrand Meyer dans son langage Eiffel datant de 1985, qui était inspiré de la notation Z créée par Jean-Raymond Abrial.
On utilise aussi les commentaires pour masquer du code, mais aussi pour préciser des contraintes ou des propriétés, notamment des préconditions, des postcondictions et des invariants comme cela se fait dans la programmation par contrat.